import Vue from 'vue'
import VueRouter from 'vue-router'
import routes from './routes'
import store from '../store'

Vue.use(VueRouter)

// 解决多次vue点击路由跳转报错（底部导航跳转路由 ） 获取原型对象上的push函数 const originalPush =
// VueRouter.prototype.push //修改原型对象中的push方法 VueRouter.prototype.push = function
// push(location) {   return originalPush.call(this, location).catch(err => err)
// }

const router = new VueRouter({

  mode: 'history',

  // 配置项目中所有路由
  routes,
})

/* 功能: 进入shimi / shimi2必须登陆, 如果没有登陆自动跳转到登陆 */
const paths = ['/shimi', '/shimi2'] // 所有需要进行登陆检查的路由路径数组
// 定义全局前置守卫
router.beforeEach((to, from, next) => {
  const token = store.state.user.token
  let path = to.path
  // 如果跳转到的路径是paths里的且没有token（没有登录），就强制跳转到登陆界面
  if (paths.indexOf(path) !== -1 && !token) next('/login')
  // 其它情况, 放行
  else next()


})

export default router